[{"data":1,"prerenderedAt":1897},["Reactive",2],{"posts":3},[4,1160],{"_path":5,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":9,"description":10,"locale":11,"draft":7,"date":12,"image":13,"imageLogo":16,"imageLogo2":20,"tags":23,"seoImage":27,"body":29,"_type":1155,"_id":1156,"_source":1157,"_file":1158,"_extension":1159},"/blog/docker-directus","blog",false,"","directus.io mit Docker-Compose aufsetzen",null,"de","2024-04-12T00:00:00.000Z",{"src":14,"alt":15},"/background/background-4.svg","background",{"src":17,"alt":18,"width":19},"/logo/docker.svg","wp","50%",{"src":21,"alt":22,"width":19},"/logo/directus.svg","foxforms",[24,25,26],"directus","docker","code snipped",{"src":28},"/docker-directus.jpg",{"type":30,"children":31,"toc":1147},"root",[32,40,47,52,58,63,69,91,95,1062,1068,1073,1096,1102,1117,1130,1136,1141],{"type":33,"tag":34,"props":35,"children":36},"element","p",{},[37],{"type":38,"value":39},"text","Hier erfährst du, wie du directus (das vielleicht beste CMS auf dem Markt), mithilfe von Docker-Compose schnell und einfach aufsetzen kannst.",{"type":33,"tag":41,"props":42,"children":44},"h2",{"id":43},"warum-directus-mit-docker",[45],{"type":38,"value":46},"Warum directus mit Docker?",{"type":33,"tag":34,"props":48,"children":49},{},[50],{"type":38,"value":51},"Bestens geeignet, um auf dem lokalen Rechner directus zu testen, vor allem aber um direcus auf einem eigenen Linux Server zu installieren.",{"type":33,"tag":41,"props":53,"children":55},{"id":54},"voraussetzungen",[56],{"type":38,"value":57},"Voraussetzungen",{"type":33,"tag":34,"props":59,"children":60},{},[61],{"type":38,"value":62},"Bevor wir beginnen, stelle sicher, dass Docker und Docker Compose auf deinem System installiert ist.",{"type":33,"tag":41,"props":64,"children":66},{"id":65},"schritt-1-erstellen-der-docker-composeyml",[67],{"type":38,"value":68},"Schritt 1: Erstellen der docker-compose.yml",{"type":33,"tag":34,"props":70,"children":71},{},[72,74,81,83,89],{"type":38,"value":73},"Erstelle eine ",{"type":33,"tag":75,"props":76,"children":78},"code",{"className":77},[],[79],{"type":38,"value":80},"docker-compose.yml",{"type":38,"value":82},"-Datei im ",{"type":33,"tag":75,"props":84,"children":86},{"className":85},[],[87],{"type":38,"value":88},"directus-docker",{"type":38,"value":90}," Ordner.",{"type":33,"tag":34,"props":92,"children":93},{},[94],{"type":38,"value":80},{"type":33,"tag":96,"props":97,"children":101},"pre",{"className":98,"code":99,"language":100,"meta":8,"style":8},"language-yml shiki shiki-themes dracula","services:\n  database:\n    image: postgis/postgis:13-master\n    # Required when running on platform other than amd64, like Apple M1/M2:\n    # platform: linux/amd64\n    volumes:\n      - ./data/database:/var/lib/postgresql/data\n    environment:\n      POSTGRES_USER: \"directus\"\n      POSTGRES_PASSWORD: \"directus\"\n      POSTGRES_DB: \"directus\"\n\n  cache:\n    image: redis:6\n\n  directus:\n    image: directus/directus:10.10.4\n    ports:\n      - 8055:8055\n    volumes:\n      - ./uploads:/directus/uploads\n      # If you want to load extensions from the host\n      # - ./extensions:/directus/extensions\n    depends_on:\n      - cache\n      - database\n    environment:\n      KEY: \"255d861b-5ea1-5996-9aa3-922530ec40b1\"\n      SECRET: \"6116487b-cda1-52c2-b5b5-c8022c45e263\"\n\n      DB_CLIENT: \"pg\"\n      DB_HOST: \"database\"\n      DB_PORT: \"5432\"\n      DB_DATABASE: \"directus\"\n      DB_USER: \"directus\"\n      DB_PASSWORD: \"directus\"\n\n      CACHE_ENABLED: \"true\"\n      CACHE_STORE: \"redis\"\n      REDIS: \"redis://cache:6379\"\n\n      ADMIN_EMAIL: \"admin@example.com\"\n      ADMIN_PASSWORD: \"d1r3ctu5\"\n\n      CORS_ENABLED: \"true\"\n\n  adminer:\n    container_name: adminer\n    image: adminer\n    environment:\n      # ADMINER_DESIGN: ${ADMINER_DESIGN:-dracula}\n      # ADMINER_DESIGN: ${ADMINER_DESIGN:-pepa-linha}\n      ADMINER_DESIGN: ${ADMINER_DESIGN:-pepa-linha-dark}\n    ports:\n      - \"8008:8080\"\n    depends_on:\n      database:\n        condition: service_started\n","yml",[102],{"type":33,"tag":75,"props":103,"children":104},{"__ignoreMap":8},[105,123,136,156,166,175,188,202,215,243,268,293,303,316,333,341,354,371,384,397,409,422,431,440,453,466,479,491,517,543,551,577,603,629,654,679,704,712,738,764,790,798,824,850,858,883,891,904,922,938,950,959,968,986,998,1019,1031,1044],{"type":33,"tag":106,"props":107,"children":110},"span",{"class":108,"line":109},"line",1,[111,117],{"type":33,"tag":106,"props":112,"children":114},{"style":113},"--shiki-default:#8BE9FD",[115],{"type":38,"value":116},"services",{"type":33,"tag":106,"props":118,"children":120},{"style":119},"--shiki-default:#FF79C6",[121],{"type":38,"value":122},":\n",{"type":33,"tag":106,"props":124,"children":126},{"class":108,"line":125},2,[127,132],{"type":33,"tag":106,"props":128,"children":129},{"style":113},[130],{"type":38,"value":131},"  database",{"type":33,"tag":106,"props":133,"children":134},{"style":119},[135],{"type":38,"value":122},{"type":33,"tag":106,"props":137,"children":139},{"class":108,"line":138},3,[140,145,150],{"type":33,"tag":106,"props":141,"children":142},{"style":113},[143],{"type":38,"value":144},"    image",{"type":33,"tag":106,"props":146,"children":147},{"style":119},[148],{"type":38,"value":149},":",{"type":33,"tag":106,"props":151,"children":153},{"style":152},"--shiki-default:#F1FA8C",[154],{"type":38,"value":155}," postgis/postgis:13-master\n",{"type":33,"tag":106,"props":157,"children":159},{"class":108,"line":158},4,[160],{"type":33,"tag":106,"props":161,"children":163},{"style":162},"--shiki-default:#6272A4",[164],{"type":38,"value":165},"    # Required when running on platform other than amd64, like Apple M1/M2:\n",{"type":33,"tag":106,"props":167,"children":169},{"class":108,"line":168},5,[170],{"type":33,"tag":106,"props":171,"children":172},{"style":162},[173],{"type":38,"value":174},"    # platform: linux/amd64\n",{"type":33,"tag":106,"props":176,"children":178},{"class":108,"line":177},6,[179,184],{"type":33,"tag":106,"props":180,"children":181},{"style":113},[182],{"type":38,"value":183},"    volumes",{"type":33,"tag":106,"props":185,"children":186},{"style":119},[187],{"type":38,"value":122},{"type":33,"tag":106,"props":189,"children":191},{"class":108,"line":190},7,[192,197],{"type":33,"tag":106,"props":193,"children":194},{"style":119},[195],{"type":38,"value":196},"      -",{"type":33,"tag":106,"props":198,"children":199},{"style":152},[200],{"type":38,"value":201}," ./data/database:/var/lib/postgresql/data\n",{"type":33,"tag":106,"props":203,"children":205},{"class":108,"line":204},8,[206,211],{"type":33,"tag":106,"props":207,"children":208},{"style":113},[209],{"type":38,"value":210},"    environment",{"type":33,"tag":106,"props":212,"children":213},{"style":119},[214],{"type":38,"value":122},{"type":33,"tag":106,"props":216,"children":218},{"class":108,"line":217},9,[219,224,228,234,238],{"type":33,"tag":106,"props":220,"children":221},{"style":113},[222],{"type":38,"value":223},"      POSTGRES_USER",{"type":33,"tag":106,"props":225,"children":226},{"style":119},[227],{"type":38,"value":149},{"type":33,"tag":106,"props":229,"children":231},{"style":230},"--shiki-default:#E9F284",[232],{"type":38,"value":233}," \"",{"type":33,"tag":106,"props":235,"children":236},{"style":152},[237],{"type":38,"value":24},{"type":33,"tag":106,"props":239,"children":240},{"style":230},[241],{"type":38,"value":242},"\"\n",{"type":33,"tag":106,"props":244,"children":246},{"class":108,"line":245},10,[247,252,256,260,264],{"type":33,"tag":106,"props":248,"children":249},{"style":113},[250],{"type":38,"value":251},"      POSTGRES_PASSWORD",{"type":33,"tag":106,"props":253,"children":254},{"style":119},[255],{"type":38,"value":149},{"type":33,"tag":106,"props":257,"children":258},{"style":230},[259],{"type":38,"value":233},{"type":33,"tag":106,"props":261,"children":262},{"style":152},[263],{"type":38,"value":24},{"type":33,"tag":106,"props":265,"children":266},{"style":230},[267],{"type":38,"value":242},{"type":33,"tag":106,"props":269,"children":271},{"class":108,"line":270},11,[272,277,281,285,289],{"type":33,"tag":106,"props":273,"children":274},{"style":113},[275],{"type":38,"value":276},"      POSTGRES_DB",{"type":33,"tag":106,"props":278,"children":279},{"style":119},[280],{"type":38,"value":149},{"type":33,"tag":106,"props":282,"children":283},{"style":230},[284],{"type":38,"value":233},{"type":33,"tag":106,"props":286,"children":287},{"style":152},[288],{"type":38,"value":24},{"type":33,"tag":106,"props":290,"children":291},{"style":230},[292],{"type":38,"value":242},{"type":33,"tag":106,"props":294,"children":296},{"class":108,"line":295},12,[297],{"type":33,"tag":106,"props":298,"children":300},{"emptyLinePlaceholder":299},true,[301],{"type":38,"value":302},"\n",{"type":33,"tag":106,"props":304,"children":306},{"class":108,"line":305},13,[307,312],{"type":33,"tag":106,"props":308,"children":309},{"style":113},[310],{"type":38,"value":311},"  cache",{"type":33,"tag":106,"props":313,"children":314},{"style":119},[315],{"type":38,"value":122},{"type":33,"tag":106,"props":317,"children":319},{"class":108,"line":318},14,[320,324,328],{"type":33,"tag":106,"props":321,"children":322},{"style":113},[323],{"type":38,"value":144},{"type":33,"tag":106,"props":325,"children":326},{"style":119},[327],{"type":38,"value":149},{"type":33,"tag":106,"props":329,"children":330},{"style":152},[331],{"type":38,"value":332}," redis:6\n",{"type":33,"tag":106,"props":334,"children":336},{"class":108,"line":335},15,[337],{"type":33,"tag":106,"props":338,"children":339},{"emptyLinePlaceholder":299},[340],{"type":38,"value":302},{"type":33,"tag":106,"props":342,"children":344},{"class":108,"line":343},16,[345,350],{"type":33,"tag":106,"props":346,"children":347},{"style":113},[348],{"type":38,"value":349},"  directus",{"type":33,"tag":106,"props":351,"children":352},{"style":119},[353],{"type":38,"value":122},{"type":33,"tag":106,"props":355,"children":357},{"class":108,"line":356},17,[358,362,366],{"type":33,"tag":106,"props":359,"children":360},{"style":113},[361],{"type":38,"value":144},{"type":33,"tag":106,"props":363,"children":364},{"style":119},[365],{"type":38,"value":149},{"type":33,"tag":106,"props":367,"children":368},{"style":152},[369],{"type":38,"value":370}," directus/directus:10.10.4\n",{"type":33,"tag":106,"props":372,"children":374},{"class":108,"line":373},18,[375,380],{"type":33,"tag":106,"props":376,"children":377},{"style":113},[378],{"type":38,"value":379},"    ports",{"type":33,"tag":106,"props":381,"children":382},{"style":119},[383],{"type":38,"value":122},{"type":33,"tag":106,"props":385,"children":387},{"class":108,"line":386},19,[388,392],{"type":33,"tag":106,"props":389,"children":390},{"style":119},[391],{"type":38,"value":196},{"type":33,"tag":106,"props":393,"children":394},{"style":152},[395],{"type":38,"value":396}," 8055:8055\n",{"type":33,"tag":106,"props":398,"children":400},{"class":108,"line":399},20,[401,405],{"type":33,"tag":106,"props":402,"children":403},{"style":113},[404],{"type":38,"value":183},{"type":33,"tag":106,"props":406,"children":407},{"style":119},[408],{"type":38,"value":122},{"type":33,"tag":106,"props":410,"children":412},{"class":108,"line":411},21,[413,417],{"type":33,"tag":106,"props":414,"children":415},{"style":119},[416],{"type":38,"value":196},{"type":33,"tag":106,"props":418,"children":419},{"style":152},[420],{"type":38,"value":421}," ./uploads:/directus/uploads\n",{"type":33,"tag":106,"props":423,"children":425},{"class":108,"line":424},22,[426],{"type":33,"tag":106,"props":427,"children":428},{"style":162},[429],{"type":38,"value":430},"      # If you want to load extensions from the host\n",{"type":33,"tag":106,"props":432,"children":434},{"class":108,"line":433},23,[435],{"type":33,"tag":106,"props":436,"children":437},{"style":162},[438],{"type":38,"value":439},"      # - ./extensions:/directus/extensions\n",{"type":33,"tag":106,"props":441,"children":443},{"class":108,"line":442},24,[444,449],{"type":33,"tag":106,"props":445,"children":446},{"style":113},[447],{"type":38,"value":448},"    depends_on",{"type":33,"tag":106,"props":450,"children":451},{"style":119},[452],{"type":38,"value":122},{"type":33,"tag":106,"props":454,"children":456},{"class":108,"line":455},25,[457,461],{"type":33,"tag":106,"props":458,"children":459},{"style":119},[460],{"type":38,"value":196},{"type":33,"tag":106,"props":462,"children":463},{"style":152},[464],{"type":38,"value":465}," cache\n",{"type":33,"tag":106,"props":467,"children":469},{"class":108,"line":468},26,[470,474],{"type":33,"tag":106,"props":471,"children":472},{"style":119},[473],{"type":38,"value":196},{"type":33,"tag":106,"props":475,"children":476},{"style":152},[477],{"type":38,"value":478}," database\n",{"type":33,"tag":106,"props":480,"children":482},{"class":108,"line":481},27,[483,487],{"type":33,"tag":106,"props":484,"children":485},{"style":113},[486],{"type":38,"value":210},{"type":33,"tag":106,"props":488,"children":489},{"style":119},[490],{"type":38,"value":122},{"type":33,"tag":106,"props":492,"children":494},{"class":108,"line":493},28,[495,500,504,508,513],{"type":33,"tag":106,"props":496,"children":497},{"style":113},[498],{"type":38,"value":499},"      KEY",{"type":33,"tag":106,"props":501,"children":502},{"style":119},[503],{"type":38,"value":149},{"type":33,"tag":106,"props":505,"children":506},{"style":230},[507],{"type":38,"value":233},{"type":33,"tag":106,"props":509,"children":510},{"style":152},[511],{"type":38,"value":512},"255d861b-5ea1-5996-9aa3-922530ec40b1",{"type":33,"tag":106,"props":514,"children":515},{"style":230},[516],{"type":38,"value":242},{"type":33,"tag":106,"props":518,"children":520},{"class":108,"line":519},29,[521,526,530,534,539],{"type":33,"tag":106,"props":522,"children":523},{"style":113},[524],{"type":38,"value":525},"      SECRET",{"type":33,"tag":106,"props":527,"children":528},{"style":119},[529],{"type":38,"value":149},{"type":33,"tag":106,"props":531,"children":532},{"style":230},[533],{"type":38,"value":233},{"type":33,"tag":106,"props":535,"children":536},{"style":152},[537],{"type":38,"value":538},"6116487b-cda1-52c2-b5b5-c8022c45e263",{"type":33,"tag":106,"props":540,"children":541},{"style":230},[542],{"type":38,"value":242},{"type":33,"tag":106,"props":544,"children":546},{"class":108,"line":545},30,[547],{"type":33,"tag":106,"props":548,"children":549},{"emptyLinePlaceholder":299},[550],{"type":38,"value":302},{"type":33,"tag":106,"props":552,"children":554},{"class":108,"line":553},31,[555,560,564,568,573],{"type":33,"tag":106,"props":556,"children":557},{"style":113},[558],{"type":38,"value":559},"      DB_CLIENT",{"type":33,"tag":106,"props":561,"children":562},{"style":119},[563],{"type":38,"value":149},{"type":33,"tag":106,"props":565,"children":566},{"style":230},[567],{"type":38,"value":233},{"type":33,"tag":106,"props":569,"children":570},{"style":152},[571],{"type":38,"value":572},"pg",{"type":33,"tag":106,"props":574,"children":575},{"style":230},[576],{"type":38,"value":242},{"type":33,"tag":106,"props":578,"children":580},{"class":108,"line":579},32,[581,586,590,594,599],{"type":33,"tag":106,"props":582,"children":583},{"style":113},[584],{"type":38,"value":585},"      DB_HOST",{"type":33,"tag":106,"props":587,"children":588},{"style":119},[589],{"type":38,"value":149},{"type":33,"tag":106,"props":591,"children":592},{"style":230},[593],{"type":38,"value":233},{"type":33,"tag":106,"props":595,"children":596},{"style":152},[597],{"type":38,"value":598},"database",{"type":33,"tag":106,"props":600,"children":601},{"style":230},[602],{"type":38,"value":242},{"type":33,"tag":106,"props":604,"children":606},{"class":108,"line":605},33,[607,612,616,620,625],{"type":33,"tag":106,"props":608,"children":609},{"style":113},[610],{"type":38,"value":611},"      DB_PORT",{"type":33,"tag":106,"props":613,"children":614},{"style":119},[615],{"type":38,"value":149},{"type":33,"tag":106,"props":617,"children":618},{"style":230},[619],{"type":38,"value":233},{"type":33,"tag":106,"props":621,"children":622},{"style":152},[623],{"type":38,"value":624},"5432",{"type":33,"tag":106,"props":626,"children":627},{"style":230},[628],{"type":38,"value":242},{"type":33,"tag":106,"props":630,"children":632},{"class":108,"line":631},34,[633,638,642,646,650],{"type":33,"tag":106,"props":634,"children":635},{"style":113},[636],{"type":38,"value":637},"      DB_DATABASE",{"type":33,"tag":106,"props":639,"children":640},{"style":119},[641],{"type":38,"value":149},{"type":33,"tag":106,"props":643,"children":644},{"style":230},[645],{"type":38,"value":233},{"type":33,"tag":106,"props":647,"children":648},{"style":152},[649],{"type":38,"value":24},{"type":33,"tag":106,"props":651,"children":652},{"style":230},[653],{"type":38,"value":242},{"type":33,"tag":106,"props":655,"children":657},{"class":108,"line":656},35,[658,663,667,671,675],{"type":33,"tag":106,"props":659,"children":660},{"style":113},[661],{"type":38,"value":662},"      DB_USER",{"type":33,"tag":106,"props":664,"children":665},{"style":119},[666],{"type":38,"value":149},{"type":33,"tag":106,"props":668,"children":669},{"style":230},[670],{"type":38,"value":233},{"type":33,"tag":106,"props":672,"children":673},{"style":152},[674],{"type":38,"value":24},{"type":33,"tag":106,"props":676,"children":677},{"style":230},[678],{"type":38,"value":242},{"type":33,"tag":106,"props":680,"children":682},{"class":108,"line":681},36,[683,688,692,696,700],{"type":33,"tag":106,"props":684,"children":685},{"style":113},[686],{"type":38,"value":687},"      DB_PASSWORD",{"type":33,"tag":106,"props":689,"children":690},{"style":119},[691],{"type":38,"value":149},{"type":33,"tag":106,"props":693,"children":694},{"style":230},[695],{"type":38,"value":233},{"type":33,"tag":106,"props":697,"children":698},{"style":152},[699],{"type":38,"value":24},{"type":33,"tag":106,"props":701,"children":702},{"style":230},[703],{"type":38,"value":242},{"type":33,"tag":106,"props":705,"children":707},{"class":108,"line":706},37,[708],{"type":33,"tag":106,"props":709,"children":710},{"emptyLinePlaceholder":299},[711],{"type":38,"value":302},{"type":33,"tag":106,"props":713,"children":715},{"class":108,"line":714},38,[716,721,725,729,734],{"type":33,"tag":106,"props":717,"children":718},{"style":113},[719],{"type":38,"value":720},"      CACHE_ENABLED",{"type":33,"tag":106,"props":722,"children":723},{"style":119},[724],{"type":38,"value":149},{"type":33,"tag":106,"props":726,"children":727},{"style":230},[728],{"type":38,"value":233},{"type":33,"tag":106,"props":730,"children":731},{"style":152},[732],{"type":38,"value":733},"true",{"type":33,"tag":106,"props":735,"children":736},{"style":230},[737],{"type":38,"value":242},{"type":33,"tag":106,"props":739,"children":741},{"class":108,"line":740},39,[742,747,751,755,760],{"type":33,"tag":106,"props":743,"children":744},{"style":113},[745],{"type":38,"value":746},"      CACHE_STORE",{"type":33,"tag":106,"props":748,"children":749},{"style":119},[750],{"type":38,"value":149},{"type":33,"tag":106,"props":752,"children":753},{"style":230},[754],{"type":38,"value":233},{"type":33,"tag":106,"props":756,"children":757},{"style":152},[758],{"type":38,"value":759},"redis",{"type":33,"tag":106,"props":761,"children":762},{"style":230},[763],{"type":38,"value":242},{"type":33,"tag":106,"props":765,"children":767},{"class":108,"line":766},40,[768,773,777,781,786],{"type":33,"tag":106,"props":769,"children":770},{"style":113},[771],{"type":38,"value":772},"      REDIS",{"type":33,"tag":106,"props":774,"children":775},{"style":119},[776],{"type":38,"value":149},{"type":33,"tag":106,"props":778,"children":779},{"style":230},[780],{"type":38,"value":233},{"type":33,"tag":106,"props":782,"children":783},{"style":152},[784],{"type":38,"value":785},"redis://cache:6379",{"type":33,"tag":106,"props":787,"children":788},{"style":230},[789],{"type":38,"value":242},{"type":33,"tag":106,"props":791,"children":793},{"class":108,"line":792},41,[794],{"type":33,"tag":106,"props":795,"children":796},{"emptyLinePlaceholder":299},[797],{"type":38,"value":302},{"type":33,"tag":106,"props":799,"children":801},{"class":108,"line":800},42,[802,807,811,815,820],{"type":33,"tag":106,"props":803,"children":804},{"style":113},[805],{"type":38,"value":806},"      ADMIN_EMAIL",{"type":33,"tag":106,"props":808,"children":809},{"style":119},[810],{"type":38,"value":149},{"type":33,"tag":106,"props":812,"children":813},{"style":230},[814],{"type":38,"value":233},{"type":33,"tag":106,"props":816,"children":817},{"style":152},[818],{"type":38,"value":819},"admin@example.com",{"type":33,"tag":106,"props":821,"children":822},{"style":230},[823],{"type":38,"value":242},{"type":33,"tag":106,"props":825,"children":827},{"class":108,"line":826},43,[828,833,837,841,846],{"type":33,"tag":106,"props":829,"children":830},{"style":113},[831],{"type":38,"value":832},"      ADMIN_PASSWORD",{"type":33,"tag":106,"props":834,"children":835},{"style":119},[836],{"type":38,"value":149},{"type":33,"tag":106,"props":838,"children":839},{"style":230},[840],{"type":38,"value":233},{"type":33,"tag":106,"props":842,"children":843},{"style":152},[844],{"type":38,"value":845},"d1r3ctu5",{"type":33,"tag":106,"props":847,"children":848},{"style":230},[849],{"type":38,"value":242},{"type":33,"tag":106,"props":851,"children":853},{"class":108,"line":852},44,[854],{"type":33,"tag":106,"props":855,"children":856},{"emptyLinePlaceholder":299},[857],{"type":38,"value":302},{"type":33,"tag":106,"props":859,"children":861},{"class":108,"line":860},45,[862,867,871,875,879],{"type":33,"tag":106,"props":863,"children":864},{"style":113},[865],{"type":38,"value":866},"      CORS_ENABLED",{"type":33,"tag":106,"props":868,"children":869},{"style":119},[870],{"type":38,"value":149},{"type":33,"tag":106,"props":872,"children":873},{"style":230},[874],{"type":38,"value":233},{"type":33,"tag":106,"props":876,"children":877},{"style":152},[878],{"type":38,"value":733},{"type":33,"tag":106,"props":880,"children":881},{"style":230},[882],{"type":38,"value":242},{"type":33,"tag":106,"props":884,"children":886},{"class":108,"line":885},46,[887],{"type":33,"tag":106,"props":888,"children":889},{"emptyLinePlaceholder":299},[890],{"type":38,"value":302},{"type":33,"tag":106,"props":892,"children":894},{"class":108,"line":893},47,[895,900],{"type":33,"tag":106,"props":896,"children":897},{"style":113},[898],{"type":38,"value":899},"  adminer",{"type":33,"tag":106,"props":901,"children":902},{"style":119},[903],{"type":38,"value":122},{"type":33,"tag":106,"props":905,"children":907},{"class":108,"line":906},48,[908,913,917],{"type":33,"tag":106,"props":909,"children":910},{"style":113},[911],{"type":38,"value":912},"    container_name",{"type":33,"tag":106,"props":914,"children":915},{"style":119},[916],{"type":38,"value":149},{"type":33,"tag":106,"props":918,"children":919},{"style":152},[920],{"type":38,"value":921}," adminer\n",{"type":33,"tag":106,"props":923,"children":925},{"class":108,"line":924},49,[926,930,934],{"type":33,"tag":106,"props":927,"children":928},{"style":113},[929],{"type":38,"value":144},{"type":33,"tag":106,"props":931,"children":932},{"style":119},[933],{"type":38,"value":149},{"type":33,"tag":106,"props":935,"children":936},{"style":152},[937],{"type":38,"value":921},{"type":33,"tag":106,"props":939,"children":941},{"class":108,"line":940},50,[942,946],{"type":33,"tag":106,"props":943,"children":944},{"style":113},[945],{"type":38,"value":210},{"type":33,"tag":106,"props":947,"children":948},{"style":119},[949],{"type":38,"value":122},{"type":33,"tag":106,"props":951,"children":953},{"class":108,"line":952},51,[954],{"type":33,"tag":106,"props":955,"children":956},{"style":162},[957],{"type":38,"value":958},"      # ADMINER_DESIGN: ${ADMINER_DESIGN:-dracula}\n",{"type":33,"tag":106,"props":960,"children":962},{"class":108,"line":961},52,[963],{"type":33,"tag":106,"props":964,"children":965},{"style":162},[966],{"type":38,"value":967},"      # ADMINER_DESIGN: ${ADMINER_DESIGN:-pepa-linha}\n",{"type":33,"tag":106,"props":969,"children":971},{"class":108,"line":970},53,[972,977,981],{"type":33,"tag":106,"props":973,"children":974},{"style":113},[975],{"type":38,"value":976},"      ADMINER_DESIGN",{"type":33,"tag":106,"props":978,"children":979},{"style":119},[980],{"type":38,"value":149},{"type":33,"tag":106,"props":982,"children":983},{"style":152},[984],{"type":38,"value":985}," ${ADMINER_DESIGN:-pepa-linha-dark}\n",{"type":33,"tag":106,"props":987,"children":989},{"class":108,"line":988},54,[990,994],{"type":33,"tag":106,"props":991,"children":992},{"style":113},[993],{"type":38,"value":379},{"type":33,"tag":106,"props":995,"children":996},{"style":119},[997],{"type":38,"value":122},{"type":33,"tag":106,"props":999,"children":1001},{"class":108,"line":1000},55,[1002,1006,1010,1015],{"type":33,"tag":106,"props":1003,"children":1004},{"style":119},[1005],{"type":38,"value":196},{"type":33,"tag":106,"props":1007,"children":1008},{"style":230},[1009],{"type":38,"value":233},{"type":33,"tag":106,"props":1011,"children":1012},{"style":152},[1013],{"type":38,"value":1014},"8008:8080",{"type":33,"tag":106,"props":1016,"children":1017},{"style":230},[1018],{"type":38,"value":242},{"type":33,"tag":106,"props":1020,"children":1022},{"class":108,"line":1021},56,[1023,1027],{"type":33,"tag":106,"props":1024,"children":1025},{"style":113},[1026],{"type":38,"value":448},{"type":33,"tag":106,"props":1028,"children":1029},{"style":119},[1030],{"type":38,"value":122},{"type":33,"tag":106,"props":1032,"children":1034},{"class":108,"line":1033},57,[1035,1040],{"type":33,"tag":106,"props":1036,"children":1037},{"style":113},[1038],{"type":38,"value":1039},"      database",{"type":33,"tag":106,"props":1041,"children":1042},{"style":119},[1043],{"type":38,"value":122},{"type":33,"tag":106,"props":1045,"children":1047},{"class":108,"line":1046},58,[1048,1053,1057],{"type":33,"tag":106,"props":1049,"children":1050},{"style":113},[1051],{"type":38,"value":1052},"        condition",{"type":33,"tag":106,"props":1054,"children":1055},{"style":119},[1056],{"type":38,"value":149},{"type":33,"tag":106,"props":1058,"children":1059},{"style":152},[1060],{"type":38,"value":1061}," service_started\n",{"type":33,"tag":41,"props":1063,"children":1065},{"id":1064},"schritt-2-starten-der-directus-installation",[1066],{"type":38,"value":1067},"Schritt 2: Starten der directus Installation",{"type":33,"tag":34,"props":1069,"children":1070},{},[1071],{"type":38,"value":1072},"Navigiere im Terminal zum directus-docker Ordner und führe folgenden Befehl aus:",{"type":33,"tag":96,"props":1074,"children":1078},{"className":1075,"code":1076,"language":1077,"meta":8,"style":8},"language-bash shiki shiki-themes dracula","docker-compose up\n","bash",[1079],{"type":33,"tag":75,"props":1080,"children":1081},{"__ignoreMap":8},[1082],{"type":33,"tag":106,"props":1083,"children":1084},{"class":108,"line":109},[1085,1091],{"type":33,"tag":106,"props":1086,"children":1088},{"style":1087},"--shiki-default:#50FA7B",[1089],{"type":38,"value":1090},"docker-compose",{"type":33,"tag":106,"props":1092,"children":1093},{"style":152},[1094],{"type":38,"value":1095}," up\n",{"type":33,"tag":41,"props":1097,"children":1099},{"id":1098},"schritt-3-zugriff-auf-directus",[1100],{"type":38,"value":1101},"Schritt 3: Zugriff auf directus",{"type":33,"tag":34,"props":1103,"children":1104},{},[1105,1107,1115],{"type":38,"value":1106},"Unter ",{"type":33,"tag":1108,"props":1109,"children":1113},"a",{"href":1110,"rel":1111},"http://localhost:8055",[1112],"nofollow",[1114],{"type":38,"value":1110},{"type":38,"value":1116}," können wir nun directus aufrufen.\nBenutzername zum Anmelden ist wie in der docker-compose.yml Datei beschrieben.",{"type":33,"tag":34,"props":1118,"children":1119},{},[1120,1122,1128],{"type":38,"value":1121},"Die docker-compose.yml Datei enthält auch ein adminer Image. Wir können über ",{"type":33,"tag":1108,"props":1123,"children":1126},{"href":1124,"rel":1125},"http://localhost:8008",[1112],[1127],{"type":38,"value":1124},{"type":38,"value":1129}," adminer starten, um auf die Datenbank zuzugreifen. In einer Produktivumgebung wäre es besser adminer nicht standardmäßig zu starten, da dadurch auch die Angriffsoberläche des Servers erhöht wird.",{"type":33,"tag":41,"props":1131,"children":1133},{"id":1132},"weitere-directus-instanzen",[1134],{"type":38,"value":1135},"Weitere directus Instanzen",{"type":33,"tag":34,"props":1137,"children":1138},{},[1139],{"type":38,"value":1140},"Um weitere Instanzen von directus zu erstellen, können wir nun einfach den directus-docker Ordner kopieren, umbenennen und bei Schritt 2 weitermachen. Um directus im produktivbetrieb einzusetzen würde man noch einen nginx reverse proxy konfigurieren welcher ebenfalls in einem docker-container sitzt. Hier könnte man dann zusätzliche Sicherheit features wie einen Bot Blocker konfigurieren und SSL für die Seite einrichten. Ich werde dazu in einem kommenden Beitrag noch genauer eingehen.",{"type":33,"tag":1142,"props":1143,"children":1144},"style",{},[1145],{"type":38,"value":1146},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":8,"searchDepth":125,"depth":125,"links":1148},[1149,1150,1151,1152,1153,1154],{"id":43,"depth":125,"text":46},{"id":54,"depth":125,"text":57},{"id":65,"depth":125,"text":68},{"id":1064,"depth":125,"text":1067},{"id":1098,"depth":125,"text":1101},{"id":1132,"depth":125,"text":1135},"markdown","content:blog:docker-directus.md","content","blog/docker-directus.md","md",{"_path":1161,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":1162,"description":1163,"locale":11,"draft":7,"date":12,"image":1164,"imageLogo":1166,"imageLogo2":1167,"tags":1170,"seoImage":1172,"body":1174,"_type":1155,"_id":1895,"_source":1157,"_file":1896,"_extension":1159},"/blog/docker-wordpress","WordPress mit Docker-Compose installieren","Die schnellste möglichkeit WP zu installieren",{"src":1165,"alt":15},"/background/background-7.svg",{"src":17,"alt":18,"width":19},{"src":1168,"alt":22,"width":1169},"/logo/wp.svg","30%",[1171,25,26],"wordpress",{"src":1173},"/docker-wordpress.jpg",{"type":30,"children":1175,"toc":1885},[1176,1181,1187,1192,1196,1201,1215,1228,1245,1249,1297,1303,1320,1324,1793,1799,1804,1829,1834,1840,1852,1857,1870,1876,1881],{"type":33,"tag":34,"props":1177,"children":1178},{},[1179],{"type":38,"value":1180},"In diesem Beitrag erfährst du, wie du eine WordPress-Seite mithilfe von Docker Compose schnell und einfach aufsetzen kannst.",{"type":33,"tag":41,"props":1182,"children":1184},{"id":1183},"warum-wordpress-mit-docker",[1185],{"type":38,"value":1186},"Warum WordPress mit Docker?",{"type":33,"tag":34,"props":1188,"children":1189},{},[1190],{"type":38,"value":1191},"Besonders geeignet, um auf dem lokalen Rechner schnell mal etwas zu testen, aber auch der produktive Betrieb mehrerer WordPress Seiten auf einem Linux Server kann hiermit vereinfacht werden. Außerdem enthält jeder Docker Container seine eigene Datenbank und sein eigenes Verzeichnis. Dadurch wird die Sicherheit erhöht und Container können unabhängig voneinander erstellt und gelöscht werden.",{"type":33,"tag":41,"props":1193,"children":1194},{"id":54},[1195],{"type":38,"value":57},{"type":33,"tag":34,"props":1197,"children":1198},{},[1199],{"type":38,"value":1200},"Bevor wir beginnen, stelle sicher, dass Docker und Docker Compose auf deinem System installiert ist. Diese Tools ermöglichen es uns, WordPress und die dazugehörige MySQL-Datenbank in Containern zu betreiben.",{"type":33,"tag":41,"props":1202,"children":1204},{"id":1203},"schritt-1-erstellen-der-env-datei",[1205,1207,1213],{"type":38,"value":1206},"Schritt 1: Erstellen der ",{"type":33,"tag":75,"props":1208,"children":1210},{"className":1209},[],[1211],{"type":38,"value":1212},".env",{"type":38,"value":1214},"-Datei",{"type":33,"tag":34,"props":1216,"children":1217},{},[1218,1220,1226],{"type":38,"value":1219},"Erstelle einen neuen Ordner mit dem Namen ",{"type":33,"tag":75,"props":1221,"children":1223},{"className":1222},[],[1224],{"type":38,"value":1225},"wordpress-docker",{"type":38,"value":1227},".",{"type":33,"tag":34,"props":1229,"children":1230},{},[1231,1232,1237,1238,1243],{"type":38,"value":73},{"type":33,"tag":75,"props":1233,"children":1235},{"className":1234},[],[1236],{"type":38,"value":1212},{"type":38,"value":82},{"type":33,"tag":75,"props":1239,"children":1241},{"className":1240},[],[1242],{"type":38,"value":1225},{"type":38,"value":1244}," Ordner, um sensible Informationen wie Datenbankpasswörter sicher zu speichern.",{"type":33,"tag":34,"props":1246,"children":1247},{},[1248],{"type":38,"value":1212},{"type":33,"tag":96,"props":1250,"children":1253},{"className":1251,"code":1252,"language":1212,"meta":8,"style":8},"language-.env shiki shiki-themes dracula","DB_PASSWORD=123456\nDB_NAME=blog\nDB_USER=wp_user\nDB_USER_PASSWORD=123456\nWP_TABLE_PREFIX=wp_\n",[1254],{"type":33,"tag":75,"props":1255,"children":1256},{"__ignoreMap":8},[1257,1265,1273,1281,1289],{"type":33,"tag":106,"props":1258,"children":1259},{"class":108,"line":109},[1260],{"type":33,"tag":106,"props":1261,"children":1262},{},[1263],{"type":38,"value":1264},"DB_PASSWORD=123456\n",{"type":33,"tag":106,"props":1266,"children":1267},{"class":108,"line":125},[1268],{"type":33,"tag":106,"props":1269,"children":1270},{},[1271],{"type":38,"value":1272},"DB_NAME=blog\n",{"type":33,"tag":106,"props":1274,"children":1275},{"class":108,"line":138},[1276],{"type":33,"tag":106,"props":1277,"children":1278},{},[1279],{"type":38,"value":1280},"DB_USER=wp_user\n",{"type":33,"tag":106,"props":1282,"children":1283},{"class":108,"line":158},[1284],{"type":33,"tag":106,"props":1285,"children":1286},{},[1287],{"type":38,"value":1288},"DB_USER_PASSWORD=123456\n",{"type":33,"tag":106,"props":1290,"children":1291},{"class":108,"line":168},[1292],{"type":33,"tag":106,"props":1293,"children":1294},{},[1295],{"type":38,"value":1296},"WP_TABLE_PREFIX=wp_\n",{"type":33,"tag":41,"props":1298,"children":1300},{"id":1299},"schritt-2-erstellen-der-docker-composeyml",[1301],{"type":38,"value":1302},"Schritt 2: Erstellen der docker-compose.yml",{"type":33,"tag":34,"props":1304,"children":1305},{},[1306,1307,1312,1313,1318],{"type":38,"value":73},{"type":33,"tag":75,"props":1308,"children":1310},{"className":1309},[],[1311],{"type":38,"value":80},{"type":38,"value":82},{"type":33,"tag":75,"props":1314,"children":1316},{"className":1315},[],[1317],{"type":38,"value":1225},{"type":38,"value":1319}," Ordner.\nDie docker-compose.yml Datei definiert, wie Docker die Services für die WordPress-Site ausführen soll.",{"type":33,"tag":34,"props":1321,"children":1322},{},[1323],{"type":38,"value":80},{"type":33,"tag":96,"props":1325,"children":1327},{"className":98,"code":1326,"language":100,"meta":8,"style":8},"services:\n  db:\n    image: mariadb\n    environment:\n      - MARIADB_ROOT_PASSWORD=${DB_PASSWORD}\n      - MARIADB_DATABASE=${DB_NAME}\n      - MARIADB_USER=${DB_USER}\n      - MARIADB_PASSWORD=${DB_USER_PASSWORD}\n    restart: on-failure:10\n    volumes:\n      - ./myDbVolume:/var/lib/mysql\n\n  pma:\n    image: phpmyadmin/phpmyadmin\n    environment:\n      # db is the container above\n      - PMA_HOST=db\n    ports:\n      - 6080:80\n    restart: on-failure:10\n    depends_on:\n      # only starts if db is running\n      - db\n\n  wp:\n    image: wordpress\n    environment:\n      - WORDPRESS_DB_HOST=db\n      - WORDPRESS_DB_USER=${DB_USER}\n      - WORDPRESS_DB_PASSWORD=${DB_USER_PASSWORD}\n      - WORDPRESS_DB_NAME=${DB_NAME}\n      - WORDPRESS_TABLE_PREFIX=${WP_TABLE_PREFIX}\n    ports:\n      - 6081:80\n    depends_on:\n      - db\n    restart: on-failure:10\n    volumes:\n      - ./myWPVolume:/var/www/html\n",[1328],{"type":33,"tag":75,"props":1329,"children":1330},{"__ignoreMap":8},[1331,1342,1354,1370,1381,1393,1405,1417,1429,1446,1457,1469,1476,1488,1504,1515,1523,1535,1546,1558,1573,1584,1592,1604,1611,1623,1639,1650,1662,1674,1686,1698,1710,1721,1733,1744,1755,1770,1781],{"type":33,"tag":106,"props":1332,"children":1333},{"class":108,"line":109},[1334,1338],{"type":33,"tag":106,"props":1335,"children":1336},{"style":113},[1337],{"type":38,"value":116},{"type":33,"tag":106,"props":1339,"children":1340},{"style":119},[1341],{"type":38,"value":122},{"type":33,"tag":106,"props":1343,"children":1344},{"class":108,"line":125},[1345,1350],{"type":33,"tag":106,"props":1346,"children":1347},{"style":113},[1348],{"type":38,"value":1349},"  db",{"type":33,"tag":106,"props":1351,"children":1352},{"style":119},[1353],{"type":38,"value":122},{"type":33,"tag":106,"props":1355,"children":1356},{"class":108,"line":138},[1357,1361,1365],{"type":33,"tag":106,"props":1358,"children":1359},{"style":113},[1360],{"type":38,"value":144},{"type":33,"tag":106,"props":1362,"children":1363},{"style":119},[1364],{"type":38,"value":149},{"type":33,"tag":106,"props":1366,"children":1367},{"style":152},[1368],{"type":38,"value":1369}," mariadb\n",{"type":33,"tag":106,"props":1371,"children":1372},{"class":108,"line":158},[1373,1377],{"type":33,"tag":106,"props":1374,"children":1375},{"style":113},[1376],{"type":38,"value":210},{"type":33,"tag":106,"props":1378,"children":1379},{"style":119},[1380],{"type":38,"value":122},{"type":33,"tag":106,"props":1382,"children":1383},{"class":108,"line":168},[1384,1388],{"type":33,"tag":106,"props":1385,"children":1386},{"style":119},[1387],{"type":38,"value":196},{"type":33,"tag":106,"props":1389,"children":1390},{"style":152},[1391],{"type":38,"value":1392}," MARIADB_ROOT_PASSWORD=${DB_PASSWORD}\n",{"type":33,"tag":106,"props":1394,"children":1395},{"class":108,"line":177},[1396,1400],{"type":33,"tag":106,"props":1397,"children":1398},{"style":119},[1399],{"type":38,"value":196},{"type":33,"tag":106,"props":1401,"children":1402},{"style":152},[1403],{"type":38,"value":1404}," MARIADB_DATABASE=${DB_NAME}\n",{"type":33,"tag":106,"props":1406,"children":1407},{"class":108,"line":190},[1408,1412],{"type":33,"tag":106,"props":1409,"children":1410},{"style":119},[1411],{"type":38,"value":196},{"type":33,"tag":106,"props":1413,"children":1414},{"style":152},[1415],{"type":38,"value":1416}," MARIADB_USER=${DB_USER}\n",{"type":33,"tag":106,"props":1418,"children":1419},{"class":108,"line":204},[1420,1424],{"type":33,"tag":106,"props":1421,"children":1422},{"style":119},[1423],{"type":38,"value":196},{"type":33,"tag":106,"props":1425,"children":1426},{"style":152},[1427],{"type":38,"value":1428}," MARIADB_PASSWORD=${DB_USER_PASSWORD}\n",{"type":33,"tag":106,"props":1430,"children":1431},{"class":108,"line":217},[1432,1437,1441],{"type":33,"tag":106,"props":1433,"children":1434},{"style":113},[1435],{"type":38,"value":1436},"    restart",{"type":33,"tag":106,"props":1438,"children":1439},{"style":119},[1440],{"type":38,"value":149},{"type":33,"tag":106,"props":1442,"children":1443},{"style":152},[1444],{"type":38,"value":1445}," on-failure:10\n",{"type":33,"tag":106,"props":1447,"children":1448},{"class":108,"line":245},[1449,1453],{"type":33,"tag":106,"props":1450,"children":1451},{"style":113},[1452],{"type":38,"value":183},{"type":33,"tag":106,"props":1454,"children":1455},{"style":119},[1456],{"type":38,"value":122},{"type":33,"tag":106,"props":1458,"children":1459},{"class":108,"line":270},[1460,1464],{"type":33,"tag":106,"props":1461,"children":1462},{"style":119},[1463],{"type":38,"value":196},{"type":33,"tag":106,"props":1465,"children":1466},{"style":152},[1467],{"type":38,"value":1468}," ./myDbVolume:/var/lib/mysql\n",{"type":33,"tag":106,"props":1470,"children":1471},{"class":108,"line":295},[1472],{"type":33,"tag":106,"props":1473,"children":1474},{"emptyLinePlaceholder":299},[1475],{"type":38,"value":302},{"type":33,"tag":106,"props":1477,"children":1478},{"class":108,"line":305},[1479,1484],{"type":33,"tag":106,"props":1480,"children":1481},{"style":113},[1482],{"type":38,"value":1483},"  pma",{"type":33,"tag":106,"props":1485,"children":1486},{"style":119},[1487],{"type":38,"value":122},{"type":33,"tag":106,"props":1489,"children":1490},{"class":108,"line":318},[1491,1495,1499],{"type":33,"tag":106,"props":1492,"children":1493},{"style":113},[1494],{"type":38,"value":144},{"type":33,"tag":106,"props":1496,"children":1497},{"style":119},[1498],{"type":38,"value":149},{"type":33,"tag":106,"props":1500,"children":1501},{"style":152},[1502],{"type":38,"value":1503}," phpmyadmin/phpmyadmin\n",{"type":33,"tag":106,"props":1505,"children":1506},{"class":108,"line":335},[1507,1511],{"type":33,"tag":106,"props":1508,"children":1509},{"style":113},[1510],{"type":38,"value":210},{"type":33,"tag":106,"props":1512,"children":1513},{"style":119},[1514],{"type":38,"value":122},{"type":33,"tag":106,"props":1516,"children":1517},{"class":108,"line":343},[1518],{"type":33,"tag":106,"props":1519,"children":1520},{"style":162},[1521],{"type":38,"value":1522},"      # db is the container above\n",{"type":33,"tag":106,"props":1524,"children":1525},{"class":108,"line":356},[1526,1530],{"type":33,"tag":106,"props":1527,"children":1528},{"style":119},[1529],{"type":38,"value":196},{"type":33,"tag":106,"props":1531,"children":1532},{"style":152},[1533],{"type":38,"value":1534}," PMA_HOST=db\n",{"type":33,"tag":106,"props":1536,"children":1537},{"class":108,"line":373},[1538,1542],{"type":33,"tag":106,"props":1539,"children":1540},{"style":113},[1541],{"type":38,"value":379},{"type":33,"tag":106,"props":1543,"children":1544},{"style":119},[1545],{"type":38,"value":122},{"type":33,"tag":106,"props":1547,"children":1548},{"class":108,"line":386},[1549,1553],{"type":33,"tag":106,"props":1550,"children":1551},{"style":119},[1552],{"type":38,"value":196},{"type":33,"tag":106,"props":1554,"children":1555},{"style":152},[1556],{"type":38,"value":1557}," 6080:80\n",{"type":33,"tag":106,"props":1559,"children":1560},{"class":108,"line":399},[1561,1565,1569],{"type":33,"tag":106,"props":1562,"children":1563},{"style":113},[1564],{"type":38,"value":1436},{"type":33,"tag":106,"props":1566,"children":1567},{"style":119},[1568],{"type":38,"value":149},{"type":33,"tag":106,"props":1570,"children":1571},{"style":152},[1572],{"type":38,"value":1445},{"type":33,"tag":106,"props":1574,"children":1575},{"class":108,"line":411},[1576,1580],{"type":33,"tag":106,"props":1577,"children":1578},{"style":113},[1579],{"type":38,"value":448},{"type":33,"tag":106,"props":1581,"children":1582},{"style":119},[1583],{"type":38,"value":122},{"type":33,"tag":106,"props":1585,"children":1586},{"class":108,"line":424},[1587],{"type":33,"tag":106,"props":1588,"children":1589},{"style":162},[1590],{"type":38,"value":1591},"      # only starts if db is running\n",{"type":33,"tag":106,"props":1593,"children":1594},{"class":108,"line":433},[1595,1599],{"type":33,"tag":106,"props":1596,"children":1597},{"style":119},[1598],{"type":38,"value":196},{"type":33,"tag":106,"props":1600,"children":1601},{"style":152},[1602],{"type":38,"value":1603}," db\n",{"type":33,"tag":106,"props":1605,"children":1606},{"class":108,"line":442},[1607],{"type":33,"tag":106,"props":1608,"children":1609},{"emptyLinePlaceholder":299},[1610],{"type":38,"value":302},{"type":33,"tag":106,"props":1612,"children":1613},{"class":108,"line":455},[1614,1619],{"type":33,"tag":106,"props":1615,"children":1616},{"style":113},[1617],{"type":38,"value":1618},"  wp",{"type":33,"tag":106,"props":1620,"children":1621},{"style":119},[1622],{"type":38,"value":122},{"type":33,"tag":106,"props":1624,"children":1625},{"class":108,"line":468},[1626,1630,1634],{"type":33,"tag":106,"props":1627,"children":1628},{"style":113},[1629],{"type":38,"value":144},{"type":33,"tag":106,"props":1631,"children":1632},{"style":119},[1633],{"type":38,"value":149},{"type":33,"tag":106,"props":1635,"children":1636},{"style":152},[1637],{"type":38,"value":1638}," wordpress\n",{"type":33,"tag":106,"props":1640,"children":1641},{"class":108,"line":481},[1642,1646],{"type":33,"tag":106,"props":1643,"children":1644},{"style":113},[1645],{"type":38,"value":210},{"type":33,"tag":106,"props":1647,"children":1648},{"style":119},[1649],{"type":38,"value":122},{"type":33,"tag":106,"props":1651,"children":1652},{"class":108,"line":493},[1653,1657],{"type":33,"tag":106,"props":1654,"children":1655},{"style":119},[1656],{"type":38,"value":196},{"type":33,"tag":106,"props":1658,"children":1659},{"style":152},[1660],{"type":38,"value":1661}," WORDPRESS_DB_HOST=db\n",{"type":33,"tag":106,"props":1663,"children":1664},{"class":108,"line":519},[1665,1669],{"type":33,"tag":106,"props":1666,"children":1667},{"style":119},[1668],{"type":38,"value":196},{"type":33,"tag":106,"props":1670,"children":1671},{"style":152},[1672],{"type":38,"value":1673}," WORDPRESS_DB_USER=${DB_USER}\n",{"type":33,"tag":106,"props":1675,"children":1676},{"class":108,"line":545},[1677,1681],{"type":33,"tag":106,"props":1678,"children":1679},{"style":119},[1680],{"type":38,"value":196},{"type":33,"tag":106,"props":1682,"children":1683},{"style":152},[1684],{"type":38,"value":1685}," WORDPRESS_DB_PASSWORD=${DB_USER_PASSWORD}\n",{"type":33,"tag":106,"props":1687,"children":1688},{"class":108,"line":553},[1689,1693],{"type":33,"tag":106,"props":1690,"children":1691},{"style":119},[1692],{"type":38,"value":196},{"type":33,"tag":106,"props":1694,"children":1695},{"style":152},[1696],{"type":38,"value":1697}," WORDPRESS_DB_NAME=${DB_NAME}\n",{"type":33,"tag":106,"props":1699,"children":1700},{"class":108,"line":579},[1701,1705],{"type":33,"tag":106,"props":1702,"children":1703},{"style":119},[1704],{"type":38,"value":196},{"type":33,"tag":106,"props":1706,"children":1707},{"style":152},[1708],{"type":38,"value":1709}," WORDPRESS_TABLE_PREFIX=${WP_TABLE_PREFIX}\n",{"type":33,"tag":106,"props":1711,"children":1712},{"class":108,"line":605},[1713,1717],{"type":33,"tag":106,"props":1714,"children":1715},{"style":113},[1716],{"type":38,"value":379},{"type":33,"tag":106,"props":1718,"children":1719},{"style":119},[1720],{"type":38,"value":122},{"type":33,"tag":106,"props":1722,"children":1723},{"class":108,"line":631},[1724,1728],{"type":33,"tag":106,"props":1725,"children":1726},{"style":119},[1727],{"type":38,"value":196},{"type":33,"tag":106,"props":1729,"children":1730},{"style":152},[1731],{"type":38,"value":1732}," 6081:80\n",{"type":33,"tag":106,"props":1734,"children":1735},{"class":108,"line":656},[1736,1740],{"type":33,"tag":106,"props":1737,"children":1738},{"style":113},[1739],{"type":38,"value":448},{"type":33,"tag":106,"props":1741,"children":1742},{"style":119},[1743],{"type":38,"value":122},{"type":33,"tag":106,"props":1745,"children":1746},{"class":108,"line":681},[1747,1751],{"type":33,"tag":106,"props":1748,"children":1749},{"style":119},[1750],{"type":38,"value":196},{"type":33,"tag":106,"props":1752,"children":1753},{"style":152},[1754],{"type":38,"value":1603},{"type":33,"tag":106,"props":1756,"children":1757},{"class":108,"line":706},[1758,1762,1766],{"type":33,"tag":106,"props":1759,"children":1760},{"style":113},[1761],{"type":38,"value":1436},{"type":33,"tag":106,"props":1763,"children":1764},{"style":119},[1765],{"type":38,"value":149},{"type":33,"tag":106,"props":1767,"children":1768},{"style":152},[1769],{"type":38,"value":1445},{"type":33,"tag":106,"props":1771,"children":1772},{"class":108,"line":714},[1773,1777],{"type":33,"tag":106,"props":1774,"children":1775},{"style":113},[1776],{"type":38,"value":183},{"type":33,"tag":106,"props":1778,"children":1779},{"style":119},[1780],{"type":38,"value":122},{"type":33,"tag":106,"props":1782,"children":1783},{"class":108,"line":740},[1784,1788],{"type":33,"tag":106,"props":1785,"children":1786},{"style":119},[1787],{"type":38,"value":196},{"type":33,"tag":106,"props":1789,"children":1790},{"style":152},[1791],{"type":38,"value":1792}," ./myWPVolume:/var/www/html\n",{"type":33,"tag":41,"props":1794,"children":1796},{"id":1795},"schritt-3-starten-der-wordpress-site",[1797],{"type":38,"value":1798},"Schritt 3: Starten der WordPress-Site",{"type":33,"tag":34,"props":1800,"children":1801},{},[1802],{"type":38,"value":1803},"Navigiere im Terminal zum wordpress-docker Ordner und führe folgenden Befehl aus:",{"type":33,"tag":96,"props":1805,"children":1807},{"className":1075,"code":1806,"language":1077,"meta":8,"style":8},"docker-compose up -d\n",[1808],{"type":33,"tag":75,"props":1809,"children":1810},{"__ignoreMap":8},[1811],{"type":33,"tag":106,"props":1812,"children":1813},{"class":108,"line":109},[1814,1818,1823],{"type":33,"tag":106,"props":1815,"children":1816},{"style":1087},[1817],{"type":38,"value":1090},{"type":33,"tag":106,"props":1819,"children":1820},{"style":152},[1821],{"type":38,"value":1822}," up",{"type":33,"tag":106,"props":1824,"children":1826},{"style":1825},"--shiki-default:#BD93F9",[1827],{"type":38,"value":1828}," -d\n",{"type":33,"tag":34,"props":1830,"children":1831},{},[1832],{"type":38,"value":1833},"Dadurch wird Docker Compose angewiesen, die in Ihrer docker-compose.yml definierten Services zu starten.",{"type":33,"tag":41,"props":1835,"children":1837},{"id":1836},"schritt-4-zugriff-auf-wordpress",[1838],{"type":38,"value":1839},"Schritt 4: Zugriff auf WordPress",{"type":33,"tag":34,"props":1841,"children":1842},{},[1843,1844,1850],{"type":38,"value":1106},{"type":33,"tag":1108,"props":1845,"children":1848},{"href":1846,"rel":1847},"http://localhost:6081",[1112],[1849],{"type":38,"value":1846},{"type":38,"value":1851}," können wir nun die WP-Installation aufrufen.",{"type":33,"tag":34,"props":1853,"children":1854},{},[1855],{"type":38,"value":1856},"Die WP-Dateien sind im Ordner myWPVolume zu finden.",{"type":33,"tag":34,"props":1858,"children":1859},{},[1860,1862,1868],{"type":38,"value":1861},"Die docker-compose.yml Datei enthält auch ein PhpMyAdmin Image. Wir können über ",{"type":33,"tag":1108,"props":1863,"children":1866},{"href":1864,"rel":1865},"http://localhost:6080",[1112],[1867],{"type":38,"value":1864},{"type":38,"value":1869}," PhpMyAdmin starten, um auf die Datenbank zuzugreifen. In einer Produktivumgebung wäre es besser PhpMyAdmin nicht standardmäßig zu starten, da dadurch auch die Angriffsoberläche des Servers erhöht wird.",{"type":33,"tag":41,"props":1871,"children":1873},{"id":1872},"weitere-wordpress-seiten",[1874],{"type":38,"value":1875},"Weitere WordPress Seiten",{"type":33,"tag":34,"props":1877,"children":1878},{},[1879],{"type":38,"value":1880},"Um weitere WP Seiten aufzusetzen können wir nun einfach den wordpress-docker Ordner kopieren, umbenennen und die bei Schritt 3 weitermachen.",{"type":33,"tag":1142,"props":1882,"children":1883},{},[1884],{"type":38,"value":1146},{"title":8,"searchDepth":125,"depth":125,"links":1886},[1887,1888,1889,1891,1892,1893,1894],{"id":1183,"depth":125,"text":1186},{"id":54,"depth":125,"text":57},{"id":1203,"depth":125,"text":1890},"Schritt 1: Erstellen der .env-Datei",{"id":1299,"depth":125,"text":1302},{"id":1795,"depth":125,"text":1798},{"id":1836,"depth":125,"text":1839},{"id":1872,"depth":125,"text":1875},"content:blog:docker-wordpress.md","blog/docker-wordpress.md",1775204986847]